
package cm.java.jpa.inicial.test;
import cm.java.jpa.inicial.Livros;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import javax.validation.ConstraintViolationException;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertNotNull;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class LivroTesteIntegrado {
      private static EntityManagerFactory emf  = 
           Persistence.createEntityManagerFactory("cmJavaJPATeste");

    private EntityManager em;
    private EntityTransaction tx;

    
    @Before
    public void iniciaGerenciadorEntidades() throws Exception {
        em = emf.createEntityManager();
        tx = em.getTransaction();
    }

    @After
    public void encerraGerenciadorEntidades() throws Exception {
        if (em != null) {
            em.close();
        }
    }
    
    @Test
    public void deveriaCriarLivroDivergente() throws Exception{
        Livros livros = new Livros("Divergente",  10.0f, "Ação", 1000, 100, true );
        
        tx.begin();
        em.persist(livros);
        tx.commit();
        
        assertNotNull("A ID não deveria ser nula", livros.getId());
    }
}
